\contentsline {chapter}{Contents}{ii}{dummy.1}
\contentsline {chapter}{List of Figures}{iv}{dummy.3}
\contentsline {chapter}{List of Tables}{v}{dummy.5}
\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.7}
\contentsline {section}{\numberline {1.1}Problem Statement}{2}{section.8}
\contentsline {section}{\numberline {1.2}Justification}{3}{section.9}
\contentsline {section}{\numberline {1.3}Scope}{3}{section.10}
\contentsline {section}{\numberline {1.4}Research Questions}{4}{section.11}
\contentsline {section}{\numberline {1.5}Objectives}{4}{section.12}
\contentsline {chapter}{\numberline {2}Fundamentals}{6}{chapter.17}
\contentsline {section}{\numberline {2.1}Introduction}{6}{section.18}
\contentsline {section}{\numberline {2.2}Cloud computing}{6}{section.19}
\contentsline {subsection}{\numberline {2.2.1}Definition}{7}{subsection.21}
\contentsline {section}{\numberline {2.3}Enabling technologies}{8}{section.22}
\contentsline {subsection}{\numberline {2.3.1}Utility computing}{8}{subsection.23}
\contentsline {subsection}{\numberline {2.3.2}Virtualization}{8}{subsection.24}
\contentsline {subsection}{\numberline {2.3.3}Automatic computing}{9}{subsection.25}
\contentsline {subsection}{\numberline {2.3.4}Load balancer}{9}{subsection.26}
\contentsline {section}{\numberline {2.4}Layers in Cloud computing}{9}{section.27}
\contentsline {section}{\numberline {2.5}Service Models}{11}{section.29}
\contentsline {subsection}{\numberline {2.5.1}Infrastructure as a Service (IaaS)}{11}{subsection.31}
\contentsline {subsection}{\numberline {2.5.2}Platform as a Service (PaaS)}{12}{subsection.32}
\contentsline {subsection}{\numberline {2.5.3}Software as a Service (SaaS)}{12}{subsection.33}
\contentsline {section}{\numberline {2.6}Deployment Models}{13}{section.35}
\contentsline {subsection}{\numberline {2.6.1}Public cloud}{13}{subsection.36}
\contentsline {subsection}{\numberline {2.6.2}Private cloud}{13}{subsection.37}
\contentsline {subsection}{\numberline {2.6.3}Hybrid cloud}{14}{subsection.38}
\contentsline {subsection}{\numberline {2.6.4}Community cloud}{14}{subsection.39}
\contentsline {subsection}{\numberline {2.6.5}Virtual private cloud}{15}{subsection.42}
\contentsline {section}{\numberline {2.7}Cloud computing characteristics}{15}{section.43}
\contentsline {section}{\numberline {2.8}Strengths of the Cloud computing}{16}{section.44}
\contentsline {chapter}{\numberline {3}Migrating of the Data Layer to the Cloud}{18}{chapter.45}
\contentsline {section}{\numberline {3.1}Introduction}{18}{section.46}
\contentsline {section}{\numberline {3.2}Migration Types}{19}{section.47}
\contentsline {section}{\numberline {3.3}The Data layer}{20}{section.48}
\contentsline {section}{\numberline {3.4}Concepts involved in the migration of Data Layer}{20}{section.50}
\contentsline {subsection}{\numberline {3.4.1}Scalability}{21}{subsection.51}
\contentsline {subsection}{\numberline {3.4.2}ACID properties}{23}{subsection.56}
\contentsline {subsection}{\numberline {3.4.3}CAP Theorem}{24}{subsection.57}
\contentsline {subsection}{\numberline {3.4.4}Strong and Eventual Consistency}{25}{subsection.59}
\contentsline {subsubsection}{\numberline {3.4.4.1}Client-Side Consistency}{25}{subsubsection.60}
\contentsline {subsubsection}{\numberline {3.4.4.2}Server-Side Consistency}{27}{subsubsection.63}
\contentsline {subsection}{\numberline {3.4.5}NoSQL databases}{28}{subsection.64}
\contentsline {section}{\numberline {3.5}Motivations to migrate the Data Layer to the Cloud}{30}{section.66}
\contentsline {section}{\numberline {3.6}Question involved in the migration of the Data Layer}{31}{section.67}
\contentsline {section}{\numberline {3.7}Suitable applications for migrating its Data Layer}{32}{section.68}
\contentsline {section}{\numberline {3.8}Challenges and issues present in the migration of the Data Layer}{35}{section.88}
\contentsline {section}{\numberline {3.9}Addressing the issues and challenges}{37}{section.89}
\contentsline {subsection}{\numberline {3.9.1}Choosing the suitable data hosting}{37}{subsection.90}
\contentsline {subsection}{\numberline {3.9.2}Providing transparent data access to the Cloud Database layer}{39}{subsection.101}
\contentsline {subsubsection}{\numberline {3.9.2.1}Dealing with incompatibilities and missing features}{40}{subsubsection.102}
\contentsline {subsubsection}{\numberline {3.9.2.2}Working with two or more kind of databases}{41}{subsubsection.104}
\contentsline {subsubsection}{\numberline {3.9.2.3}Enabling a less coarse access API for the Business Layer.}{42}{subsubsection.106}
\contentsline {subsection}{\numberline {3.9.3}Enabling loose coupling between the Business Layer and Data Layer}{44}{subsection.108}
\contentsline {subsection}{\numberline {3.9.4}Enabling scalability and elasticity}{46}{subsection.114}
\contentsline {subsection}{\numberline {3.9.5}Ensuring the level of data consistency required}{48}{subsection.152}
\contentsline {section}{\numberline {3.10}Data Layer migration checklist}{52}{section.155}
\contentsline {section}{\numberline {3.11}Summarize of research questions and answers}{54}{section.161}
\contentsline {chapter}{\numberline {4}Case of Study}{58}{chapter.179}
\contentsline {section}{\numberline {4.1}Research and Technological Collaboration Portal}{58}{section.180}
\contentsline {section}{\numberline {4.2}Tools and Technologies}{59}{section.182}
\contentsline {section}{\numberline {4.3}Architecture}{60}{section.188}
\contentsline {chapter}{\numberline {5}Migration}{63}{chapter.196}
\contentsline {section}{\numberline {5.1}The Proceeding}{63}{section.197}
\contentsline {subsection}{\numberline {5.1.1}Step 1: Analyzing the database of RTCP}{63}{subsection.198}
\contentsline {subsection}{\numberline {5.1.2}Step 2: Choosing a Cloud data hosting}{65}{subsection.202}
\contentsline {subsection}{\numberline {5.1.3}Step 3: Ensuring transparent data access to the Cloud Database layer.}{67}{subsection.203}
\contentsline {subsection}{\numberline {5.1.4}Step 4: Converting the Data Layer in a loose coupling component.}{70}{subsection.267}
\contentsline {subsection}{\numberline {5.1.5}Step 5: Ensuring elasticity and scalability.}{72}{subsection.312}
\contentsline {subsection}{\numberline {5.1.6}Step 6: Ensuring the level of data consistency required.}{73}{subsection.314}
\contentsline {chapter}{\numberline {6}Evaluation}{74}{chapter.315}
\contentsline {section}{\numberline {6.1}The test suits}{74}{section.316}
\contentsline {chapter}{\numberline {7}Conclusion}{76}{chapter.323}
